Electronic tokens are a relatively new commodity that have been found to be useful in many applications. Smart Cards, and similar portable electronic tokens have been used in a wide variety of commercial applications, including security, banking, health care, and communications applications. Some of the recognized limitations of these electronic tokens include relatively small memories, and slow communication. Generally the communications limitations involve a trade off between mobility, cost and the rate of transmission of information.
As is known in the art, electronic tokens usually operate when docked with an electronic token reader, which supplies power to the electronic token, and exchanges data with the electronic token using a predefined protocol. There are a wide and growing class of devices that dock electronic tokens, and there are efforts to standardize and expand the standards to encompass as many devices as can benefit from services enhancements that an electronic token can provide.
There are a number of service enhancements that require a determination of data in records of a file stored in the memory of an electronic token. Many service enhancements involve repeated contact with the same electronic token, and therefore only require a determination of changes to the records.
A conventional electronic token 10 is schematically illustrated in FIG. 1. The electronic token 10 contains a processor 12, at least one input/output (I/O) port 14 and a memory 16. The processor 12 is adapted to exchange data with a platform in which it is docked, through the I/O port 14. The processor also exchanges data with a memory 16 that stores processor instructions 18, an operating system (not illustrated), and a data store that stores a file system 20. An electronic token can execute token resident processor instructions 18, known as applets. Applets can direct the token's processor 12 and/or operating system to perform various functions including modifying the token's file system and communicating via its input/output port 14.
One use of electronic tokens for communications is embodied in subscriber interface module (SIM) cards. The SIM is defined as part of the global system for mobile communications (GSM) standard. The SIM card is an electronic token having processors and memory, that can be inserted into any GSM station (usually a cell phone), and provides a standard complement of subscriber related data to the GSM station. As is known in the art, the GSM station interfaces with the card for the purposes of exchanging data using a predefined protocol (also specified by the GSM standard). The SIM includes a processor, non-volatile memory (such as electronically erasable programmable read-only memory (EEPROM)) and a volatile random access memory. When docked in a GSM station, SIM resident applets can transmit and receive data to/from the communications network via short message service (SMS) messages. A newer standard called the universal SIM (USIM) defines another electronic token adapted to be docked in a communications station.
In accordance with the GSM standard, some of the data stored on a SIM card is allocated to a phonebook. The phonebook comprises a plurality of records for individual directory numbers called abbreviated dialing numbers (ADN). As SIM cards can be lost, damaged or stolen, a need for backing-up the phonebook, and other personal data stored on SIM cards, has been recognized. Methods for backing-up a phonebook in the prior art required connecting the platform in which the SIM is docked (GSM handset, or electronic token reader) to a computer. Specific software loaded on the computer would access the SIM file system to perform the backup. While this is an efficient method for backing-up changes to files when the platform in which the SIM is docked can be connected to a computer, the mobile nature of such platforms makes it difficult to ensure that back-up can be performed regularly.
What is therefore needed is a token-resident applet for detecting changed records stored in a file on an electronic token and communicating those changes to an external entity.